package yrl.collection;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class AddSelfDemo {
	public static void main(String[] args) {
		//add(self)使用
		List<String> list=new ArrayList<String>();
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
		list.add("5");
		list.add("6");
		list.addAll(list);
		System.out.println(list);
		Iterator<String> iterator=list.iterator();
		while(iterator.hasNext()) {
			System.out.print(iterator.next()+" ");
		}
		Set<String> set=new HashSet<String>();
		set.add("1");
		set.add("2");
		set.add("3");
		set.add("4");
		set.add("5");
		set.add("6");
		set.addAll(set);
		System.out.println();
		Iterator<String> iterator1=set.iterator();
		while(iterator1.hasNext()) {
			System.out.print(iterator1.next()+" ");
		}
		//Collection toArray()使用
		List<String> list1=new ArrayList<String>();
		list1.add("1");
		list1.add("2");
		list1.add("3");
		list1.add("4");
		list1.add("5");
		list1.add("6");
		///无参toArray
		Object[] str =list1.toArray();
		for(Object i:str) {
			System.out.print(i+" ");
		}
		
		//有参toArray
		//参数中的数组长度较短
		String[] str1=new String[list1.size()-1];
		String[] str2=list1.toArray(str1);
		//便利数组
		printArray(str1);
		printArray(str2);
		
		//参数中数组长度刚好
		str1=new String[list1.size()];
		str2=list1.toArray(str1);
		//便利数组
		printArray(str1);
		printArray(str2);
		
		//有一个初始值 长度刚好
		str1[1]="demo";
		str2=list1.toArray(str1);
		printArray(str1);
		printArray(str2);
		
		//长度较长
		str1=new String[list1.size()+1];
		str2=list1.toArray(str1);
		printArray(str1);
		printArray(str2);
		
		//有一个初始值 长度较长
		str1=new String[list1.size()+2];
		str1[list1.size()+1]="demo";
		str2=list1.toArray(str1);
		printArray(str1);
		printArray(str2);
	}
	static void printArray(Object[] str) {
		System.out.println("---------数组元素如下----------------");
		for(Object i:str) {
			System.out.print(i+" ");
		}
		System.out.println();
	}
 }
